package br.gov.mi.corporativo.dominio.boundary.rhmi.funcionarioescolaridade;

import java.util.Date;
import java.util.List;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.context.support.SpringBeanAutowiringSupport;

import br.gov.mi.corporativo.dominio.entidade.rhmi.FuncionarioEscolaridade;


@Path("funcionarioescolaridade")
public class FuncionarioEscolaridadeRestAdapter extends SpringBeanAutowiringSupport {
	
	@Autowired
	private FuncionarioEscolaridadeEndPoint service;
	
	@GET
	@Produces({MediaType.APPLICATION_JSON})
	public Iterable<FuncionarioEscolaridade> recuperarTodos(){
		return service.recuperarTodos();
	}
	
	@GET
	@Path("/id/{idFuncionarioEscolaridade}")
	@Produces({MediaType.APPLICATION_JSON})
	public FuncionarioEscolaridade recuperarPorIdFuncionarioEscolaridade(@PathParam("idFuncionarioEscolaridade")Long idFuncionarioEscolaridade){
		return service.recuperarPorIdFuncionarioEscolaridade(idFuncionarioEscolaridade);
	}
	
	@GET
	@Path("/funcionario/{funcionario}")
	@Produces({MediaType.APPLICATION_JSON})
	public List<FuncionarioEscolaridade> recuperarPorFuncionario(@PathParam("variavel")Long funcionario){
		return service.recuperarPorFuncionario(funcionario);
	}
	
	@GET
	@Path("/instituicaoensino/{idInstituicaoEnsino}")
	@Produces({MediaType.APPLICATION_JSON})
	public List<FuncionarioEscolaridade> recuperarPorIdInstituicaoEnsino(@PathParam("idInstituicaoEnsino")Long idInstituicaoEnsino){
		return service.recuperarPorIdInstituicaoEnsino(idInstituicaoEnsino);
	}
	
	
	@GET
	@Path("/tipoescolaridade/{idTipoEscolaridade}")
	@Produces({MediaType.APPLICATION_JSON})
	public List<FuncionarioEscolaridade> recuperarPorIdTipoEscolaridade(@PathParam("idTipoEscolaridade")Long idTipoEscolaridade){
		return service.recuperarPorIdTipoEscolaridade(idTipoEscolaridade);
	}
	
	@GET
	@Path("/datainicio/{dtInicio}")
	@Produces({MediaType.APPLICATION_JSON})
	public List<FuncionarioEscolaridade> recuperarPorDtInicio(@PathParam("dtInicio")Date dtInicio){
		return service.recuperarPorDtInicio(dtInicio);
	}
	
	@GET
	@Path("/dataconclusao/{dtConclusao}")
	@Produces({MediaType.APPLICATION_JSON})
	public List<FuncionarioEscolaridade> recuperarPorDtConclusao(@PathParam("dtConclusao")Date dtConclusao){
		return service.recuperarPorDtConclusao(dtConclusao);
	}
	
	
	
}
